import pyperclip


class LineSpacer:
    """在每隔指定行数后插入空行"""

    def __init__(self, interval: int):
        if interval <= 0:
            raise ValueError("间隔必须为正整数")
        self.interval = interval

    def process_text(self, input_text: str) -> str:
        """处理输入文本，在每隔 self.interval 行后插入空行"""
        lines = input_text.splitlines()
        output_lines = []

        for i in range(0, len(lines), self.interval):
            chunk = lines[i:i + self.interval]
            output_lines.extend(chunk)
            output_lines.append('')  # 插入空行

        result = '\n'.join(output_lines)

        return result

    @staticmethod
    def read_input(end_marker="end") -> str:
        """从控制台读取多行文本，直到输入结束标记"""
        print(f"请输入文本（输入 '{end_marker}' 单独一行表示结束）：")
        lines = []
        while True:
            line = input()
            if line.strip() == end_marker:
                break
            lines.append(line)
        return '\n'.join(lines)


if __name__ == "__main__":
    input_text = LineSpacer.read_input()

    while True:
        try:
            x = int(input("请输入每隔多少行插入一行空行（正整数）："))
            if x > 0:
                break
            print("请输入正整数。")
        except ValueError:
            print("请输入有效的数字。")

    spacer = LineSpacer(interval=x)
    output_text = spacer.process_text(input_text)

    print("\n处理完成，结果已复制到剪贴板：\n")
    print(output_text)
